package com.ruoyi.project.fusion.mapper;

import com.ruoyi.project.decision.domain.CcfScores;
import com.ruoyi.project.fusion.domain.*;
import com.ruoyi.project.knowledge.domain.OverallScores;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DataFusionMapper {
    List<HumanResourceAggInfo> getHumanResourceAggInfos(String chainType, String scenario);

    List<BusinessStatusAggInfo> getBusinessStatusAggInfos(String chainType, String scenario);

    List<MaterialManagementAggInfo> getMaterialManagementAggInfos(String chainType, String scenario);

    List<QualityAggInfo> getQualityAggInfos(String chainType, String scenario);

    List<PriceAggInfo> getPriceAggInfos(String chainType, String scenario);

    List<ServiceAggInfo> getServiceAggInfos(String chainType, String scenario);

    List<TechnologyAggInfo> getTechnologyAggInfo(String chainType, String scenario);

    List<BusinessStatusAggInfo> getPartBusinessStatusAggInfos(String chainType, String scenario, String enterpriseName);
    void insertBusiness(@Param("businessStatusScores") List<BusinessStatusScores> businessStatusScores);

    List<BusinessStatusScores> getBusinessStatusScoreAggInfos(String chainType, String scenario,int offset,int pageSize);

    void insertHuman(@Param("humanResourceScores")List<HumanResourceScores> humanResourceScores);
    List<HumanResourceScores> getHumanResourceScoreAggInfos(String chainType, String scenario,int offset,int pageSize);

    void insertMaterial(@Param("materialManagementScores") List<MaterialManagementScores> materialManagementScores);

    List<MaterialManagementScores> getMaterialManagementScoreAggInfos(String chainType, String scenario,int offset,int pageSize);

    void insertQuality(@Param("qualityScores") List<QualityScores> qualityScores);
    List<QualityScores> getQualityScoresAggInfos(String chainType, String scenario,int offset,int pageSize);

    void insertPrice(@Param("priceScores") List<PriceScores> priceScores);

    List<PriceScores> getPriceScoresAggInfos(String chainType, String scenario,int offset,int pageSize);

    void insertService(@Param("serviceScores") List<ServiceScores> serviceScores);

    List<ServiceScores> getServiceScoreAggInfos(String chainType, String scenario,int offset,int pageSize);

    void insertTechnologyScore(@Param("technologyScores") List<TechnologyScores> technologyScores);

    List<TechnologyScores> getTechnologyScoreAggInfo(String chainType, String scenario,int offset,int pageSize);

    List<OverallScores> getOverAllScore(String chainType, String scenario,int offset,int pageSize);

    void insertOverAllScore(@Param("overallScores") List<OverallScores> overallScores);

    void insertCcfScore(@Param("ccfScores") List<CcfScores> ccfScores);

    List<CcfScores> getCcfScoreSInfos(String chainType, String scenario, int offset, int pageSize);
}
